package com.mmp.main.util;

public class Enums {

	public enum SYS_ROLES {

		HOSPITAL_DIRECTOR("hospdir"), DEPARTMENT_HEAD("dephead"), SITE_MANAGER("sitemanager"), DEPARTMENT_SUPERVISOR(
				"depsupervisor"), DIRECTORATE_ADMIN("govadmin"), BIOMEDICAL_ENGINEER("biomedeng");

		String roleName;

		SYS_ROLES(String roleName) {
			this.roleName = roleName;
		}

		public String getRoleName() {
			return this.roleName;
		}
	}

	public enum JOBORDER_FOLLOWUP_PHASES {
		NOT_HANDLED_YET(0), FIRST_ACTION_TAKEN(1), AGENT_REPORT_UPLOADED(21), QUOTATION_RECIEVED(22)/*, QUOTATION_ACCEPTED(
				23)*/, SECOND_ACTION_TAKEN(2), FINAL_ACTION_TAKEN(3);

		int id;

		JOBORDER_FOLLOWUP_PHASES(int id) {
			this.id = id;
		}

		public int getId() {
			return this.id;
		}

	}

	public enum JOBORDER_SP_SOURCES {
		INVENTORY(1), AGENT(2), PURCHASE_ORDER(3);

		int id;

		JOBORDER_SP_SOURCES(int id) {
			this.id = id;
		}

		public int getId() {
			return this.id;
		}

	}

	public enum YEAR_MONTHS {

		JAN("1", "يناير"), FEB("2", "فبراير"), MAR("3", "مارس"), APR("4", "أبريل"), MAY("5", "مايو"), JUN("6", "يونيه"), JUL(
				"7", "يوليو"), AUG("8", "أغسطس"), SEP("9", "سبتمبر"), OCT("10", "أكتوبر"), NOV("11", "نوفمبر"), DEC(
				"12", "ديسمبر");

		String id;
		String text;

		YEAR_MONTHS(String id, String text) {
			this.id = id;
			this.text = text;
		}

		public String getId() {
			return this.id;
		}

		public String getText() {
			return this.text;
		}

		public static String getTextById(String id) {
			for (YEAR_MONTHS i : values())
				if (i.getId().equals(id))
					return i.getText();
			return "no match found";
		}
	}

	public enum PPM_VISIT_STATUS {
		IN_TIME(1, "تمت"), NOT_HAPPENED(2, "لم تتم"), LATE(3, "متأخرة");

		protected int id;
		protected String text;

		PPM_VISIT_STATUS(int id, String text) {
			this.id = id;
			this.text = text;
		}

		public int getId() {
			return this.id;
		}

		public String getText() {
			return this.text;
		}

	}

	public enum REPORT_TITLE {

		HOSPITAL_DEVICES("بيان بأجهزة المستشفى"), HOSPITAL_DEVICES_STATUS("بيان  بحالة أجهزة المستشفى"), DEVICES_UNDER_MAINTENANCE(
				"بيان بالأجهزة تحت الصيانة"), OPENED_JOB_ORDERS("بيان بجميع أوامر العمل المفتوحة"), DEVICE_HISTORY(
				"بيان بتكاليف صيانة جهاز"), DEVICE_ACCESSORIES("البطاقة التعريفية لجهاز"), DEVICE_BY_WARRANTY_EXPIRE(
				"بيان بالاجهزة المنتهي ضمانها خلال فترة"), PPM_TABLE("جدول الزيارات الوقائية"), DEVICES_NEED_PPM_VISIT(
				"بيان بالأجهزة التي تحتاج زيارة وقائية"), PPM_ATTACHED_FILES("تفاصيل الزيارات الوقائية"), DEVICES_NOT_IN_CONTRACT(
				"بيان بقائمة الأجهزة التي لا يشملها العقد"), DEVICES_FROM_OTHER_SITE(
				"بيان بقائمة الأجهزة الواردة من موقع آخر"), TRANSFERRED_DEVICES(
				"بيان بقائمة الأجهزة المنقولة أو المسحوبة"), SCRAPPED_DEVICES("بيان بقائمة الأجهزة المكهنة"), NOT_HAPPENED_PPM_VISITS(
				"بيان بالزيارات الوقائية التي لم تتم"), JOB_ORDER_CANCELLED("بيان بأوامر العمل المحذوفة خلال شهر محدد"), JOB_ORDER_CLOSED(
				"بيان بأوامر العمل المغلقة خلال شهر محدد"), LATE_JOB_ORDERS("ييان بأوامر العمل المتأخرة"), SP_INVENTORY_CONTENT(
				"بيان بقطع الغيار الموجودة بالمستودع"), SP_INVENTORY_CONTENT_UNDER_THRESHOLD(
				"بيان بقطع الغيار الموجودة بالمستودع تحت الحد الأدنى"), DEVICE_DETAILS("بيان بالمعلومات الكاملة لجهاز");

		protected String reportTitle;

		REPORT_TITLE(String reportTitle) {
			this.reportTitle = reportTitle;
		}

		public String getReportTitle() {
			return this.reportTitle;
		}
	}

	public enum DEVICE_STATUS {

		SCRAPPED(0), WORK_PROPERLY(1), UNDER_MAINTENANCE(2), TRANSFERRED(3);

		protected int status;

		DEVICE_STATUS(int status) {
			this.status = status;
		}

		public int getStatus() {
			return this.status;
		}
	}

	public enum JOB_ORDER_STATUS {

		CLOSED(0), CANCELLED(1), OPENED(2), LATE(3);

		protected int status;

		JOB_ORDER_STATUS(int status) {
			this.status = status;
		}

		public int getStatus() {
			return this.status;
		}
	}

	public enum USER_TYPE {

		HOSPITAL_DIRECTOR(1), HOSPITAL_ASSISTANT_DIRECTOR(2), BIOMEDICAL_DEPARTMENT_HEAD(3), BIOMEDICAL_DEPARTMENT_SUPERVISOR(
				4), HOSPITAL_DEPARTMENT_SUPERVISOR(5), SITE_MANGER(6), BIOMEDICAL_ENGINEER(7), BIOMEDICAL_TECHNICIAN(8), DIRECTORATE_ADMIN(
				9);

		protected int id;

		USER_TYPE(int id) {
			this.id = id;
		}

		public int getId() {
			return this.id;
		}
	}

	public enum DEVICE_CATEGORY {

		A(1), B(2), C(3);

		protected int dbId;

		DEVICE_CATEGORY(int dbId) {
			this.dbId = dbId;
		}

		public int getDBId() {
			return this.dbId;
		}
	}

	public enum JOB_ORDER_PRIORITY {

		NORMAL(1), URGENT(2), TOP_URGENT(3);

		protected int dbId;

		JOB_ORDER_PRIORITY(int dbId) {
			this.dbId = dbId;
		}

		public int getDBId() {
			return this.dbId;
		}
	}

	public enum JOB_ORDER_TYPE {

		EQUIPMENT_OUT_OF_ORDER(1), INSTALLATION(2), CALIBRATION(3), PPM(4);

		protected int dbId;

		JOB_ORDER_TYPE(int dbId) {
			this.dbId = dbId;
		}

		public int getDBId() {
			return this.dbId;
		}
	}

	public enum REQUESTED_REPORT_TYPE {

		FOR_ALL_SITE_LOCATIONS(1), FOR_CURRENT_LOCATION_ONLY(2), FOR_ANOTHER_LOCATION(3);

		protected int id;

		REQUESTED_REPORT_TYPE(int id) {
			this.id = id;
		}

		public int getId() {
			return this.id;
		}
	}

}
